/**
 * @author xiaoli.xiao
 * @time 2022-12-02 16:00 AM
 * @description 定义pinia状态数据仓库，实现状态数据共享
 */

import { createPinia, defineStore } from 'pinia'
import { deCodeApi, enCodeApi } from '../utils'

/** 创建一个pinia全局实例对象 -- createPinia(): Pinia */
const Pinia=createPinia()

let token = sessionStorage.getItem('now-token')

const commonDefinition = defineStore(
    'common',
    {
        /** 定义要缓存的数据对象并且赋初始值 */
        state(){
            return {
                token:token
            }
        },
        /** 定义getters获取数据 */
        getters:{
            getToken(){
                return deCodeApi(this.token)
            },
        },
        /** 赋值方法--actions */            
        actions:{
            setToken(_token) {
                // debugger
                _token = enCodeApi(_token)
                this.token = _token
                sessionStorage.setItem('now-token', _token)
            }
        }
    }
)
/** 导出定义的Pinia实例和定义的各个状态数据数仓对象 */
export {
    Pinia,
    commonDefinition
}